package pers.cj.pdos.mapper;

import org.apache.ibatis.annotations.Param;
import pers.cj.pdos.entity.Budget;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import pers.cj.pdos.vo.BudgetVo;

import java.util.Date;
import java.util.List;

/**
 * <p>
 *  Mapper 接口
 * </p>
 *
 * @author chenj
 * @since 2019-11-04
 */
public interface BudgetMapper extends BaseMapper<Budget> {
    List<BudgetVo> listVo(@Param("companyId") String companyId,
                          @Param("page")Integer page,
                          @Param("limit")Integer limit,
                          @Param("type")Integer type,
                          @Param("close")Boolean close,
                          @Param("search")String search,
                          @Param("makeTime1")Date makeTime1,
                          @Param("makeTime2")Date makeTime2,
                          @Param("date1")Date date1,
                          @Param("date2")Date date2,
                          @Param("makeUserId")String makeUserId,
                          @Param("storeId")String storeId,
                          @Param("budgetProjectId")String budgetProjectId,
                          @Param("unit")String unit,
                          @Param("settAccountId")String settAccountId,
                          @Param("userStoreId") String userStoreId,
                          @Param("userId")String userId,
                          @Param("remark")String remark);

    Long count(@Param("companyId") String companyId,
               @Param("type")Integer type,
               @Param("close")Boolean close,
               @Param("search")String search,
               @Param("makeTime1")Date makeTime1,
               @Param("makeTime2")Date makeTime2,
               @Param("date1")Date date1,
               @Param("date2")Date date2,
               @Param("makeUserId")String makeUserId,
               @Param("storeId")String storeId,
               @Param("budgetProjectId")String budgetProjectId,
               @Param("unit")String unit,
               @Param("settAccountId")String settAccountId,
               @Param("userStoreId") String userStoreId,
               @Param("userId")String userId,
               @Param("remark")String remark);

    BudgetVo getVoById(@Param("id") String id);

    List<BudgetVo> listVoByIds(@Param("ids")List<String> ids);
}
